package com.basic.auth.service;

import com.basic.auth.dao.model.AuthRoleFunc;
import com.basic.auth.domain.AuthFuncBo;
import com.basic.auth.domain.AuthRoleFuncBo;

import java.util.List;

/**
 * 角色功能关系管理接口
 *
 * @author lpp
 * @version 1.0
 * @Date 2018/8/14 9:45
 */
public interface AuthRoleFuncService {

    /**
     * 为角色添加后台和其他平台功能
     *
     * @param authRoleFuncBo
     * @return void
     * @author lpp
     * @date 17:45 2019/6/25
     */
    void addHtAndOrderFuncList(AuthRoleFuncBo authRoleFuncBo);

    /**
     * 查询某个系统下的某个角色的功能（关联功能表）
     *
     * @param
     * @param roleFunc
     * @return java.util.List<com.nxin.middle.basic.auth.dao.model.AuthRoleFunc>
     * @author LPP
     * @date 9:39 2018/8/16
     */
    public List<AuthRoleFuncBo> selListByRoleSysId(AuthRoleFuncBo roleFunc);

    /**
     * 根据条件查询
     *
     * @param
     * @param authRoleFuncBo
     * @return java.util.List<com.nxin.middle.basic.auth.dao.model.AuthRoleFunc>
     * @author LPP
     * @date 17:33 2018/8/14
     */
    public List<AuthRoleFunc> selListByParam(AuthRoleFuncBo authRoleFuncBo);

    /**
     * 添加角色功能关系
     *
     * @param
     * @param authRoleFuncBo
     * @return void
     * @author LPP
     * @date 13:43 2018/8/14
     */
    public void addAuthRoleFunc(AuthRoleFuncBo authRoleFuncBo);

    /**
     * 根据用户boid查询用户拥有的角色
     *
     * @param roleFuncBo
     * @return java.util.List<com.nxin.middle.basic.auth.domain.AuthRoleFuncBo>
     * @author Li Lei
     * @since 2018/12/17 17:42
     */
    List<AuthFuncBo> selListByBoId(AuthRoleFuncBo roleFuncBo);

    /**
     * 查询系统下角色功能
     *
     * @param roleFuncBo
     * @return java.util.List<com.nxin.middle.basic.auth.domain.AuthFuncBo>
     * @author Li Lei
     * @since 2018/12/18 9:44
     */
    List<AuthFuncBo> selListBySystemId(AuthRoleFuncBo roleFuncBo);

    List<AuthRoleFunc> selRoleFuncListByBoId(AuthRoleFuncBo roleFuncBo);
}
